home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / gnu / gnulib / dkbtrace / pbmplus / source / makefile next >
Encoding:
Makefile  |  1992-08-05  |  4.9 KB  |  133 lines

  1. # Makefile for pbmplus tools.
  2. #
  3. # Copyright (C) 1989, 1991 by Jef Poskanzer.
  4. #
  5. # Permission to use, copy, modify, and distribute this software and its
  6. # documentation for any purpose and without fee is hereby granted, provided
  7. # that the above copyright notice appear in all copies and that both that
  8. # copyright notice and this permission notice appear in supporting
  9. # documentation.  This software is provided "as is" without express or
  10. # implied warranty.
  11.  
  12. # CONFIGURE: gcc makes things go faster on some machines, but not everyone
  13. # has it.  Warning: do not use gcc's -finline-functions or -fstrength-reduce
  14. # flags, they can produce incorrect code.  (This is with gcc versions 1.35,
  15. # 1.36, and 1.37, later versions may fix these bugs.)  Also, on some systems
  16. # gcc can't compile pnmconvol - dunno why.  And on some systems you can't
  17. # use the -ansi flag, it gives compilation errors in <math.h>.
  18. CC = icc
  19.  
  20. # CONFIGURE: cc flags go here.
  21. CFLAGS =    -Sm -D__STDC__ -Q -Ti -Gd
  22.  
  23. # CONFIGURE: ld flags go here.  Eunice users may want to use -noshare so that
  24. # the binaries can run standalone.
  25. LDFLAGS = /PM:VIO
  26.  
  27. # CONFIGURE: If you have an X11-style rgb color names file, define its
  28. # path here.  This is used by PPM to parse color names into rgb values.
  29. # If you don't have such a file, comment this out and use the alternative
  30. # hex and decimal forms to specify colors (see ppm/pgmtoppm.1 for details).
  31. #RGBDEF =    -DRGB_DB=\"/usr/lib/X11/rgb\"
  32.  
  33. # CONFIGURE: Library file extension
  34. #LIBEXT = .a
  35. LIBEXT = .dll
  36.  
  37. # CONFIGURE: Any additional libraries
  38. LIBS = /nod dde4sbso
  39.  
  40. # CONFIGURE: Object file extension
  41. #OBJ = .o
  42. OBJ = .obj
  43.  
  44. # CONFIGURE: Executable file extension
  45. #EXE =
  46. EXE = .exe
  47.  
  48. # CONFIGURE: PBMPLUS's support for TIFF files depends on the library from
  49. # Sam Leffler's TIFF Software package - see the OTHER.SYSTEMS file for a
  50. # full description and access information.  To configure PBMPLUS to use the
  51. # library: first, if necessary, fetch the TIFF Software, unpack it in a
  52. # scratch directory somewhere, and move the libtiff subdirectory right here
  53. # into the PBMPLUS top-level directory.  Configure and "make" in the
  54. # libtiff directory.  Yes, you do have to do the TIFF make by hand, the
  55. # general PBMPLUS make will *not* make libtiff.  Finally, uncomment the
  56. # following five definitions.
  57. #
  58. # Libtiff is pretty good about portability, but there are some machines
  59. # it has problems on.  If you run into problems, you may wish to contact
  60. # Sam directly, at the address listed in the OTHER.SYSTEMS file.
  61. #
  62. # By the way, you must have at least version 2.4 of libtiff.  Earlier
  63. # versions will not work.
  64. TIFFDEF =        -DLIBTIFF
  65. TIFFINC =        -I../libtiff
  66. TIFFLIB =        ../libtiff/libtiff$(LIBEXT)
  67. TIFFBINARIES =    tifftopnm$(EXE) pnmtotiff$(EXE)
  68. TIFFOBJECTS =    tifftopnm$(OBJ) pnmtotiff$(OBJ)
  69.  
  70. # CONFIGURE: Define the directory that you want the binaries copied to.
  71. # If you need scripts and binaries to be in different directories, you
  72. # can set that up too.
  73. INSTALLBINARIES =    /pbmplus
  74. INSTALLSCRIPTS =    $(INSTALLBINARIES)
  75.  
  76. # CONFIGURE: Define the directories that you want the manual sources copied to,
  77. # plus the suffix you want them to have.
  78. INSTALLMANUALS1 =    /pbmplus
  79. SUFFIXMANUALS1 =    n
  80. INSTALLMANUALS3 =    /pbmplus
  81. SUFFIXMANUALS3 =    n
  82. INSTALLMANUALS5 =    /pbmplus
  83. SUFFIXMANUALS5 =    n
  84.  
  85. # CONFIGURE: Normally the man pages are installed using "cp".  By changing
  86. # this define you can use something else, for example a script that calls
  87. # compress or pack.
  88. MANCP = rem
  89.  
  90. # CONFIGURE: Your Shell.
  91. #SHELL = sh
  92. SHELL = cmd
  93.  
  94. # CONFIGURE: Command to remove or delete a file
  95. #REMOVE = -rm
  96. REMOVE = del
  97.  
  98. # CONFIGURE: Library command
  99. #LIBBIN = ar rc
  100. LIBBIN = lib
  101.  
  102. # CONFIGURE: Normally the Makefiles build and install separate binaries for
  103. # each program.  However, on some systems (especially those without shared
  104. # libraries) this can mean a lot of space.  In this case you might try
  105. # building a "merge" instead.  The idea here is to link all the binaries
  106. # together into one huge executable, with a tiny dispatch program as the
  107. # main.  Then the merged binary is installed with file-system links for
  108. # each program it includes.  The dispatch routine can tell which program
  109. # to run by looking at argv[0].  On a Sun3 under SunOS 3.5 the space for
  110. # executables went from 2.9 meg to .36 meg.
  111. #
  112. # Note that if you make a "merge", the executables don't get created
  113. # until you do the install.
  114.  
  115. all:            pbmcrt.dll binaries
  116.  
  117. # End of configurable definitions.
  118.  
  119. SUBDIRS =    pbm pgm pnm ppm
  120.  
  121. binaries:    makefile
  122.     for %%f in ($(SUBDIRS)) do (echo %%f & cd \pbmplus10dec91\%%f & $(MAKE) \
  123.             $(MFLAGS) CC=$(CC) "CFLAGS=$(CFLAGS)" RGBDEF=$(RGBDEF) \
  124.             TIFFDEF=$(TIFFDEF) TIFFINC=$(TIFFINC) "LDFLAGS=$(LDFLAGS)" \
  125.             MANCP=$(MANCP) SHELL=$(SHELL) REMOVE=$(REMOVE) LIBBIN=$(LIBBIN) \
  126.             LIBEXT=$(LIBEXT) "LIBS=$(LIBS)" OBJ=$(OBJ) EXE=$(EXE) all)
  127.  
  128. pbmcrt.dll:    pbmcrt.obj pbmcrt.def
  129.     link386 pbmcrt.obj, $@,,, pbmcrt
  130.  
  131. pbmcrt.obj: pbmcrt.c
  132.     $(CC) -c -Ge- -Q -Sm -Ti $*.c
  133.